#!/usr/bin/python3
# _*_ coding: utf-8 _*_
#
# Copyright (C) 2024 - 2024 heihieyouheihei, Inc. All Rights Reserved 
#
# @Time    : 2024/9/12 9:29
# @Author  : Yuyun
# @File    : 划分字母区间.py
# @IDE     : PyCharm

"""
字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段，同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。

示例：
输入：S = "ababcbacadefegdehijhklij"
输出：[9,7,8] 解释： 划分结果为 "ababcbaca", "defegde", "hijhklij"。
每个字母最多出现在一个片段中。 像 "ababcbacadefegde", "hijhklij" 的划分是错误的，因为划分的片段数较少。
提示：
S的长度在[1, 500]之间。
S只包含小写字母 'a' 到 'z' 。
"""
class Solution:
    def divide_char_section(self, s):
        tmp_res = {}
        #   字符最大位置
        for i, ch in enumerate(s):
            tmp_res[ch] = i
        result = []
        start = 0
        end = 0
        for i, ch in enumerate(s):
            #   字符区间最大位置
            end = max(end, tmp_res[ch])
            if i == end:
                #   区间长度
                result.append(end - start + 1)
                start = i + 1

if __name__=='__main__':
    s = input().strip()
    solution = Solution()
    result = solution.divide_char_section(s)
    print(result)